<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">             
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">    
                <p:panel id="pnlTabla" header="#{i18n['general.panel.titulo.busqueda.resultado']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="1">
                        <p:dataTable id="tblPrincipal" value="#{encuestaPendMBean.lista}" var="dto"
                                     selection="#{encuestaPendMBean.dto}" selectionMode="single" rowKey="#{dto.id}"
                                     emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel"                              
                                     paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable">                        
                            <p:column style="text-align:center;">
                                <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">                                    

                                    <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['encuesta.button.rellenar.tip']}"
                                                     action="#{encuestaPendMBean.rellenar}" ajax="true"
                                                     update=":pnlDialogPregunta"
                                                     oncomplete="rellenoEncuestaDialog.show()">
                                        <f:setPropertyActionListener value="#{dto}" target="#{encuestaPendMBean.dto}" />                                                                    
                                    </p:commandButton>
                                </h:panelGrid>
                            </p:column>
                            <p:column headerText="#{i18n['general.label.id']}"  style="text-align:center;">
                                <h:outputText value="#{dto.id}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['encuesta.label.descripcion']}">
                                <h:outputText value="#{dto.descripcion}" styleClass="txtCampo" />
                            </p:column>   
                            <p:column headerText="#{i18n['encuesta.label.fecha.inicio']}" styleClass="general">                                
                                <h:outputText value="#{dto.fechaInicio}" styleClass="txtCampo" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText> 
                            </p:column>
                            <p:column headerText="#{i18n['encuesta.label.fecha.fin']}" styleClass="general">
                                <h:outputText value="#{dto.fechaFin}" styleClass="txtCampo" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText>
                            </p:column>
                            <p:column headerText="#{i18n['encuesta.label.estado']}" styleClass="general">
                                <h:outputText value="#{dto.estadoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>
                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
            </h:form>
            
            
            <p:dialog id="dialogPregunta" header="#{i18n['form.encuesta.rellenar.pregunta']}" widgetVar="rellenoEncuestaDialog" resizable="false" modal="true">
                <p:panel id="pnlDialogPregunta" style="#{applicationMBean.estiloTitulo}">
                <p:messages id="msgsDialog" showDetail="false" autoUpdate="true" />    
                <h:form onsubmit="return checkSubmit();"  id="frmPregunta">
                <h:panelGrid id="pgFormEncuestaDto" columns="1" cellpadding="4">
                    <h:outputLabel value="#{encuestaPendMBean.dto.nombre}" styleClass="subTitulo" />
                    <h:outputLabel value="#{encuestaPendMBean.preguntaActual} / #{encuestaPendMBean.cantTotalPreguntas}" styleClass="subTitulo" />
                </h:panelGrid>
                <p:panel id="pnlPreguntaDetalle" style="#{applicationMBean.estiloTitulo}">    
                <h:panelGrid id="pgFormPreguntaDto" columns="1" cellpadding="4">

                    <h:outputLabel value="#{encuestaPendMBean.preguntaDto.detalle}" styleClass="subTitulo"/>
                                        
                    <p:dataGrid var="dto" value="#{encuestaPendMBean.preguntaDto.listaOpcionesResp}"
                                rendered="#{encuestaPendMBean.preguntaDto.tipoPreguntaDto.id == 40510}"
                                columns="1">
                        <h:panelGrid columns="2"> 
                            <p:selectBooleanCheckbox value="#{dto.selected}"/>
                            <h:outputLabel value="#{dto.descripcion}" styleClass="label"/>
                        </h:panelGrid>
                    </p:dataGrid>
                    
                    <p:dataGrid var="dto" value="#{encuestaPendMBean.preguntaDto.listaOpcionesResp}"
                                rendered="#{encuestaPendMBean.preguntaDto.tipoPreguntaDto.id == 40509}"
                                columns="#{encuestaPendMBean.cantTotalOpciones}">
                        <h:panelGrid columns="1">                             
                            <h:outputLabel value="#{dto.descripcion}" styleClass="label"/>
                            <p:selectBooleanCheckbox value="#{dto.selected}"/>
                        </h:panelGrid>
                    </p:dataGrid>
                    
                    <p:panel rendered="#{encuestaPendMBean.preguntaDto.tipoPreguntaDto.id == 40508}">
                        <p:selectOneRadio value="#{encuestaPendMBean.preguntaDto.opcionSeleted}">
                            <f:selectItems value="#{encuestaPendMBean.preguntaDto.listaOpcionesResp}" var="dto" itemLabel="#{dto.descripcion}" itemValue="#{dto.id}"/>
                        </p:selectOneRadio>
                    </p:panel>    
                    
                    <p:panel rendered="#{encuestaPendMBean.preguntaDto.tipoPreguntaDto.id == 40507}">
                        <p:selectOneRadio value="#{encuestaPendMBean.preguntaDto.opcionSeleted}">
                            <f:selectItems value="#{encuestaPendMBean.preguntaDto.listaOpcionesResp}" var="dto" itemLabel="#{dto.descripcion}" itemValue="#{dto.id}"/>
                        </p:selectOneRadio>
                    </p:panel>
                    
                    <p:panel rendered="#{encuestaPendMBean.preguntaDto.tipoPreguntaDto.id == 40513}">
                        <p:selectOneMenu value="#{encuestaPendMBean.preguntaDto.opcionSeleted}">
                            <f:selectItems value="#{encuestaPendMBean.preguntaDto.listaOpcionesResp}" var="dto" itemLabel="#{dto.descripcion}" itemValue="#{dto.id}"/>
                        </p:selectOneMenu>
                    </p:panel>
                    <p:panel rendered="#{encuestaPendMBean.preguntaDto.tipoPreguntaDto.id == 40512}">
                        <p:inputText value="#{encuestaPendMBean.preguntaDto.textInserted}"
                                     size="60" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                        </p:inputText>
                    </p:panel>
                    
                    <p:separator rendered="#{encuestaPendMBean.preguntaDto.descripcion != null}"/>
                    <h:outputLabel value="#{encuestaPendMBean.preguntaDto.descripcion}" styleClass="label" rendered="#{encuestaPendMBean.preguntaDto.descripcion != null}"/>
                    <p:separator rendered="#{encuestaPendMBean.preguntaDto.descripcion != null}"/>

                    <h:panelGrid columns="2">
                    <p:commandButton title="#{i18n['encuesta.button.anterior.tip']}" 
                                    ajax="true"                                        
                                    style="#{applicationMBean.cssBotonTransaccion}"
                                    value="#{i18n['encuesta.button.anterior']}"
                                    action="#{encuestaPendMBean.irPreguntaAnterior}"
                                    disabled="#{encuestaPendMBean.preguntaActual == 1}"
                                    update=":msgs,:pnlDialogPregunta">
                   </p:commandButton>
                   <p:commandButton title="#{i18n['encuesta.button.siguiente.tip']}" 
                                    ajax="true"                                        
                                    style="#{applicationMBean.cssBotonTransaccion}"
                                    value="#{i18n['encuesta.button.siguiente']}"
                                    action="#{encuestaPendMBean.irPreguntaSiguiente}"
                                    rendered="#{encuestaPendMBean.preguntaActual != encuestaPendMBean.cantTotalPreguntas}"
                                    update=":msgs,:pnlDialogPregunta">
                   </p:commandButton>
                   <p:commandButton title="#{i18n['encuesta.button.finalizar.tip']}" 
                                    ajax="true"                                        
                                    style="#{applicationMBean.cssBotonTransaccion}"
                                    value="#{i18n['encuesta.button.finalizar']}"
                                    action="#{encuestaPendMBean.finalizarEncuesta}"                                    
                                    rendered="#{encuestaPendMBean.preguntaActual == encuestaPendMBean.cantTotalPreguntas}"
                                    oncomplete="handleRequest(xhr, status, args);"
                                    update=":msgs,:pnlDialogPregunta,:frmPrincipal">
                   </p:commandButton>     
                   <script type="text/javascript">
                        function handleRequest(xhr, status, args) {
                            if (args.ok) {
                                rellenoEncuestaDialog.hide();
                            }
                        }
                    </script>     
                   </h:panelGrid>
                </h:panelGrid>
                </p:panel>    
                </h:form>
               </p:panel>                             
            </p:dialog>
            
        </ui:define>
    </ui:composition>
</html>
